package com.jrx.anytxn.param.mapper.ext;

import com.jrx.anytxn.common.annotation.ParamTuningAnnotation;
import com.jrx.anytxn.param.entity.PrBlockCodeRule;
import com.jrx.anytxn.param.mapper.base.PrBlockCodeRuleMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author hcx
 * @Description
 */
public interface ExtPrBlockCodeRuleMapper extends PrBlockCodeRuleMapper {
    /**
     * 根据租户ID查询
     * @param tenantId  租户ID
     * @return com.jrx.anytxn.param.entity.PrBlockCodeRule
     * @author hcx
     */
    List<PrBlockCodeRule> selectAllByTenId(@Param("tenantId") String tenantId);

    /**
     * 根据租户ID,封锁码ID查询
     * @param tenantId  租户ID
     * @return com.jrx.anytxn.param.entity.PrBlockCodeRule
     * @author hcx
     */
    PrBlockCodeRule selectByTenIdAndId(@Param("tenantId") String tenantId,@Param("id")Long id);

    /**
     * 根据租户ID,封锁码，延滞天数查询封锁码规则
     * @param tenantId  租户ID
     * @return com.jrx.anytxn.param.entity.PrBlockCodeRule
     * @author hcx
     */
    PrBlockCodeRule selectByTenIdAndCodeAngDelqDays(@Param("tenantId") String tenantId,@Param("blockCode")String blockCode,@Param("delqDays")Integer delqDays);

    /**
     * 根据租户ID和类型ID编辑信息
     * @param record 封锁码规则表实体
     * @return int
     * @author hcx
     */
    @ParamTuningAnnotation
    int updateByTenIdAndId(PrBlockCodeRule record);

    /**
     * 根据租户ID和封锁码规则ID删除
     * @param id
     * @param tenantId
     * @return int
     * @author hcx
     */
    int deleteByTenIdAndId(@Param("tenantId") String tenantId, @Param("id") Long id);
}
